using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;

namespace HadronData
{
    public enum EntityType
    {
        Gravity,
        FuelStation,
        RepairStation,
        CargoStation,
        GunTurret,
        MissileTurret,
        Drone,
        GunFighter,
        MissileFighter,
        Vent,
        Attractor,
        Repulsor,
        Reactor,
        Crate,
        Scientist,
        Switch,
        SwitchGate,
        TimedGate,
        EntryPortal,
        ExitPortal
    }

    public class EntityMarker
    {
        private String m_strName;
        private EntityType m_entityType;
        private Transformation m_trnPlacement;

        public EntityMarker()
        {
            m_strName = "Entity";
            m_trnPlacement = Transformation.Identity;
        }

        public String Name
        {
            get { return m_strName; }
            set { m_strName = value; }
        }

        public EntityType EntityType
        {
            get { return m_entityType; }
            set { m_entityType = value; }
        }

        [ContentSerializerIgnore]
        public Transformation Placement
        {
            get { return m_trnPlacement; }
            set { m_trnPlacement = value; }
        }

        public Vector2 Position
        {
            get { return m_trnPlacement.Translation; }
            set { m_trnPlacement.Translation = value; }
        }

        public float Orientation
        {
            get { return m_trnPlacement.Rotation; }
            set { m_trnPlacement.Rotation = value; }
        }
    }
}
